#ifndef TREE_H
#define TREE_H


//二叉链表
typedef struct DblNode{
    int data;
    struct DblNode *leftChild,*rightChild;
}DblNode,*DblTree;

//三叉链表
typedef struct TriNode{
    int data;
    struct TriNode *leftChild,*rightChild;
    struct TriNode *parent;
} TriNode,*TriTree;

//双亲表示法
typedef struct DualNode {
    int data;
    int parentPos;//记录父节点的位置
    char LRTag;//左右孩子标志
}DualNode;

typedef struct DualTree{
    DualNode nodes[100];
    int num_node;
    int root;//根节点的位置，注意存储的是节点所在数组的下标
}DualTree;

#endif // TREE_H
